Digital oscilloscopes generally use raster scan displays to present the activity of electrical signals to their users. Each raster scan display, such as those we see every day in computer screens, consists of a two dimensional array of pixels, with each pixel location being uniquely defined by a row number and column number. The simplest and lowest cost versions of such displays are "single bit" displays, in that the memory from which they derive the information to be displayed only has one bit of intensity information associated with each pixel. In such a display that single bit of information determines whether the pixel associated with it is either "on" or "off", with "on" dictating that a predetermined amount of intensity is to be used to illuminate the pixel and "off" indicating that the pixel is not to be illuminated at all.
The more complex and expensive alternative to a single bit display is a multi-bit or gray-scale display. The memory locations associated with each bit of a gray scale display contains multiple bits of intensity information, indicating which of a number of intensity levels with which they can be illuminated. Like the pixels of single bit displays, those of multi-bit displays can exhibit an "off" or dark state, but instead of one value of illumination, they have multiple values. Typically, the number of values available is 2.sup.N -1, where N is the memory depth at each address of the raster memory. Thus, for example, a four bit deep raster scan memory can support fifteen levels of partial through maximum illumination, as well as the dark or "off" state.
With this larger amount of data, multi-bit displays can convey more information about the behavior of electrical signal waveforms under observation, particularly if the signal is not perfectly repetitive and therefore has less activity in some portions than others. U.S. Pat. No. 4,940,931 to Katayama et al. for "Digital Waveform Measuring Apparatus Having A Shading-tone Display", hereby incorporated by reference, describes a system for producing digital gray scale displays.
Multi-bit intensity information also makes it possible to create analog-like "persistence" effects, i.e., the decay of signal intensity over time. In the older analog oscilloscopes, persistence was a decay of the illumination of the cathode ray tube (CRT) that was a function of the type of phosphor used in the construction of the CRT and the voltages applied to different elements of that tube. In digital oscilloscopes, a persistence decay function can be implemented by decrementing the intensity value associated with each illuminated pixel according to some algorithm. U.S. Pat. No. 4,504,827 to Hanson et al. for "Synthetic Persistence for Raster Scan Displays", hereby incorporated by reference, describes a method for pseudo randomly decrementing intensity data in a raster scan display. U.S. Pat. No. 5,254,983 to Long et al. for "Digitally Synthesized Gray Scale for Raster Scan Oscilloscope Display", hereby incorporated by reference, describes one approach for persistence-like decay of acquired waveforms stored as digital numbers. U.S. Pat. No. 5,387,896 to Alappat et al. for "Rasterscan Display with Adaptive Decay", hereby incorporated by reference, describes a system for rasterization that operates on a local pixel in one of two ways, depending on a calculation based on that pixel's initial value.
Typically, digital oscilloscopes acquire information about the behavior of a waveform by periodically sampling the voltage present at the point where a probe is in contact with some node of a circuit under observation. The oscilloscope probe and front end of the oscilloscope are designed to precisely replicate the signal, or some predetermined faction or multiple of the signal, and present it to an analog-to-digital converter. The output of the analog-to-digital converter is a series of multi-bit digital words that are stored in an acquisition memory. Successively acquired samples are stored at sequentially related addresses in the acquisition memory, and are thereby related to a time scale. Those addresses will eventually be converted back to a time scale, one of which is represented as horizontal distance along the x-axis of the oscilloscope's raster scan display.
As has previously been described, a raster consists of horizontal rows and vertical columns. Each row can be identified by a location number along the vertical axis (y-axis), while each column can be identified by a location number along the horizontal axis (x-axis). Typically, in an oscilloscope, voltage amplitude values derived from the data contents of an acquisition memory location determine the vertical location (row number) of an illuminated pixel, while time values derived from the addresses of the acquisition memory determine the horizontal location (column number). The process of expanding the contents and addresses of an acquisition memory to produce contents for a two dimensional raster memory is known as "rasterization".
The digital contents of an acquisition memory, as well as the time significance of successive addresses in that memory, need only be proportional to the voltage and time values that they represent. The acquisition and display settings of the instrument will determine the actual voltage and time values that they represent, and will determine the scaling functions that will be applied as the data is mapped into the raster memory.
For any particular combination of settings of the oscilloscope display and acquired waveform data, there will be some function that maps the acquired data points into the time (x-axis) versus voltage (y-axis) display raster. That mapping function will include some ratio between the number of samples to be mapped and the number of pixel columns in the raster display. While that ratio can be 1:1, it will usually be N:1 or 1:N If there are more data points than columns of pixels into which they must be mapped, some form of data compression will have to be utilized. At its simplest, this could mean discarding all but every Nth data points (known as "decimation"), although this means losing some of the information content available in the original data set.
If the raster memory into which the acquired data is being mapped has multiple bits associated with each pixel location, that is supports gray scale illumination values, then multiple "attacks" (also known as "hits") on the same pixel can be differentiated from single attacks, or a different numbers of attacks, by intensity variation (brightness differences) in the display. In single bit displays, such differentiation is not possible, since each pixel is limited to being either on or off, i.e., illuminated or not illuminated. FIGS. 1A-C, 2A-C, 5, 6, 9, and 10 all illustrate single-bit rasterization outputs. The pixels identified with the "D"s and "R"s in these figures are all illuminated to the same approximate level. As will be further discussed below, these "D"s and "R"s"s refer to the source of the decision to illuminate a particular pixel and do not have anything to do with that pixel's intensity.
Digital oscilloscope displays have historically mapped and presented the acquired waveform data in one of two basic ways, known as "dot mode rasterization" and "vector mode rasterization", with the latter also being known as "vectorization". FIGS. 1A, 1B and 1C illustrate dot mode rasterization of a sinusoidal waveform. In FIG. 1A, approximately 1.5 cycles of this waveform are represented by 20 waveform data points from the acquisition memory. Because of the one-to-one relationship between input data and raster pixel columns, no data compression or expansion was required and the 20 acquired data points mapped directly into the 20 pixel columns shown. The pixels that are made active by this process are designated with a "D", which refers both to correspondence with an actual data point and, in this case, the output of the dot mode process.
FIG. 1B shows dot mode rasterization of similar waveform data, but in FIG. 1B three cycles are shown mapped by 2:1 compression. As can be seen in these figures, in dot mode only pixels that are directly "attacked" by the rasterization mapping function are illuminated or have their intensity values increased, and the other pixels in the raster display are unaffected. FIG. 1C also illustrates dot mode rasterization, but it shows approximately three quarters of a cycle with 1:2 expansion.
Referring next to FIGS. 2A and 2B, these figures show vector mode rasterization of the same input data that was used for dot mode rasterization in FIGS. 1A and 1B. As can be seen in FIGS. 2A and 2B, vector mode rasterization "attacks" (i.e., turns on or increases the illumination of) all of the pixels that are between those pixels that would be attacked in dot mode. In these Figures, pixels corresponding to actual acquired data are indicated with "D"s, while those supplied by the rasterization process are indicated with "R"s. Nonetheless, both sets of pixels are equally illuminated, and the resulting bit-map raster image can be described with a single bit per pixel.
The output of a rasterization process is usually combined with some preexisting content of a raster memory, and the resulting composite raster contents may thereafter be regularly subjected to some sort of decay process. For more information in this area, refer to the following U.S. Patents, hereby incorporated by reference: U.S. Pat. No. 5,440,676 to Alappat et al. for "Raster Scan Waveform Display Rasterizer With Pixel Intensity Gradation"; U.S. Pat. No. 5,387,896 to Alappat et al. for "Rasterscan Display With Adaptive Decay"; U.S. Pat. No. 5,254,983 to Long et al. for "Digitally Synthesized Gray Scale For Raster Scan Oscilloscope Displays"; Digital Waveform Measuring Apparatus Having A Shading-Tone Display Function";
It should be noted that the rasterization process is generally performed on only one column of information at a time. The input to this process is typically the vertical coordinate of the current point in this column and the vertical coordinate of the next point. These vertical coordinates are derived from the data portion of the data-address pairs in the acquisition memory. The column being updated is determined by the address part of the same data-address pair. Since the mapping of data addresses into pixel columns can be many-to-one, one-to-one, or one-to-many, the "next" point referred to above can be associated with the next column, as it is in FIG. 1A, or the same column, as is the case part of the time in FIG. 1B. When the next column does not have a data point that maps directly into it, a horizontal interpolator external to the rasterizer can determine one and supply it to the rasterizer. The rasterizer treats these horizontally interpolated points in the same manner as its other inputs coming directly from data-address pairs.
The determination of which mode of rasterization is preferable in a particular situation, dot mode or vector mode, is frequently determined by the waveform input rate. Digital oscilloscopes acquire waveform data in response to a "trigger" event. While triggers can be based on more complex events, typically a trigger is generated when the amplitude of the signal under observation crosses an amplitude threshold in a particular direction. Usually the amplitude and direction of the triggering event is determined by the oscilloscope operator, but it can also be automatically provided by some oscilloscopes, at least in certain modes of operation. Typically, the operator finds a trigger level and direction that seems suitable for seeing the portion of the signal that he or she is interested in, and then makes timebase, vertical amplitude, and brightness adjustments, and possibly further trigger level adjustments, in an iterative manner, until a satisfactory waveform image is produced on the display.
If triggering events are occurring rapidly, the oscilloscope may have to ignore some of them because it hasn't had sufficient time as yet to process and display the data from the last acquisition. Since vectorization can slow the analyzing and displaying process, waveform throughput is usually reduced when vector mode is selected. Thus, while vector mode operation produces the best waveform image, dot mode best allows for more waveform throughput.
If there are sufficient triggers and waveforms, and the oscilloscope's data handling capabilities are adequate, dot mode rasterization will generally provide a suitable waveform display. Conversely, if the trigger rate is low and the oscilloscope has sufficient time to do the processing of each waveform, vector mode rasterization will generally provide the best picture of the waveform. However, there are times when the waveform acquisition rate is intermediate and neither dot mode nor vector mode is fully adequate to the task of providing the optimum waveform display. Under these circumstances the operator can manually switch back and forth between dot and vector modes, but may find that neither mode is truly suitable for producing an optimal display. The goal of the invention described below is to provide a suitable alternative under these circumstances.
As further background, it should be noted that for many years, digital oscilloscopes were limited in the percentage of activity at the probe tip that they effectively processed and displayed for the user. Although less sophisticated users and those who were only familiar with analog oscilloscopes had the impression that they were seeing most or all of the activity at their digital oscilloscope's probe tip, in many circumstances the display was really only showing a small percentage of the actual activity occurring there. This was because these oscilloscopes spent a lot more time processing signals than they did acquiring them. If a signal is perfectly repetitive, this loss of "live time" is not a problem, since one waveform looks just like another. However, when a signal is displaying some sort of intermittent anomalous behavior, a low percentage of live time may prevent such an anomaly from being detected. Therefore, increasing the waveform throughput and the percentage of signal activity at the probe tip that can actually be observed by the user has been the goal of some of the more recent digital oscilloscope designs. U.S. Pat. No. 5,412,579 to Meadows, et al. for "Slow Display Method for Digital Oscilloscope With Fast Acquisition System", hereby incorporated by reference, describes an oscilloscope system in which acquisitions are composited into alternating (also known as "ping-ponging") display buffers, so that while the contents of one display buffer is being used to display data to the user, the other one is being used to gather and composite more data. However, the slow display of this design only provided a single bit of intensity data per pixel and therefore had no analog-like gray scaling capability.
Other oscilloscopes had been successfully producing gray scale displays, but those displays were based on a relatively low throughput of underlying waveforms. As was described above, the decay time of this digital persistence could be varied to provide an operator control similar to those available with analog oscilloscope displays. With the digital persistence feature turned off, the display exhibited "infinite persistence", in which variations in the incoming acquired waveforms could add to the number of pixels illuminated or to their brightness, but nothing diminished their brightness or made them go back to being not illuminated. Thus, over time, every affected pixel reached maximum intensity.
As has been stated above, increasing "live time" at the probe tip and the capability of processing a large number of waveforms is a highly desirable feature in a digital oscilloscope. U.S. Pat. No. 5,530,454 to Etheridge et al. for "Digital Oscilloscope Architecture For Signal Monitoring With Enhanced Duty Cycle", herein incorporated by reference, describes an oscilloscope that is capable of acquiring up to 400,000 waveforms per second. This oscilloscope rivaled analog oscilloscope performance with a "live time" percentage that varied from about 50% to nearly 99%, depending on the timebase settings. This speed was attained by using two raster memories, one in the acquisition system and the other in the display system. The first of these raster memories, referred to as the "raster acquisition memory", was almost constantly supplied with acquired waveforms, which were composited into the raster acquisition memory by an acquisition rasterizer and an image combiner. After many waveforms had been thus composited, the contents of the single-bit per pixel raster acquisition memory was shipped to a multiple bit per pixel display raster memory, where it was combined with previously displayed data. That display raster memory was also subject to a digital persistence control, such as that described above. While an oscilloscope build in accordance with the teachings of the Etheridge '454 patent accomplished very high waveform throughput and produced a very nice display, that design relied on a great deal of fast and expensive hardware for its success. Lower cost rasterizers typically require operating time in direct proportion to the number of pixels whose intensities are being affected by the rasterization process.
For many users, especially those having some experience with analog oscilloscopes, variable brightness usefully communicates information about the activity of the signal being observed. For example, an intermittent signal anomaly that occurs in an otherwise repetitive signal at the rate of about one in ten times will show up clearly in this type of analog display, but its brightness will be significantly less than the brightness of the main signal which occurs the other nine out of ten times. Of course, if the signal becomes too intermittent, it will be so faint in brightness that it may be missed entirely by the oscilloscope operator.
In U.S. Pat. No. 5,412,579 to Meadows, et al. for "Slow Display Method for Digital Oscilloscope With Fast Acquisition System", incorporated by reference above, the two single bit per pixel raster memories were used in a way that gave the operator some indication of the presence of intermittent signals. This was accomplished by using a randomizing process to qualify the compositing of the most recent waveform into the previously accumulated waveforms. With this approach, waveforms that were sufficiently intermittent only showed up as dotted lines, while waveforms that occurred most of the time would generally appear as completely filled in. Because of the single bit per pixel limitation of this implementation, extremely rare and not-so rare waveforms would tend to be misidentified., respectively, as not discernable or as always present.
Multi-bit, gray-scale implementations of a display raster's memory provide a way around the limitation described immediately above. In a system such as that described in U.S. Pat. No. 5,530,454 to Etheridge et al., discussed and incorporated by reference above, intermittent behavior can be made to appear in a very realistic analog-like manner because infrequently attacked pixels never reach the same intensity values as those that are attacked more regularly. If digital persistence is active, all of the pixels that have become active by being attacked will be decayed according to some appropriate function, but the rarely attacked pixels will have their intensities increased less often and will therefore always appear to be dimmer than those that are attacked during almost every rasterization.
Beyond the improvements in the ability of digital oscilloscopes thus far described, in some circumstances, some oscilloscope users also have had a strong preference for another behavior that resembles that of analog oscilloscopes, "slope responsive vectoring". As analog oscilloscopes generate vertical excursions during a horizontal sweep interval to provide a real-time picture of the signal activity at the probe tip, they inherently tend to vary the brightness of the display as an inverse function of the slope of the line they produce. This occurs because the cathode electron gun of the CRT generates a constant supply of electrons that depends on the setting of a "brightness" control.
Because this supply of electrons is constant, and because the horizontal motion of the electron beam is constant, the perceived "brightness", or intensity of the display, varies inversely with the amount of vertical activity of the signal. If there is no vertical motion, all of the electron energy produced over a particular interval of time is channeled into a short horizontal line that appears relatively bright. On the other hand, if there is a lot of vertical motion within that same interval of time, that same amount of energy is spread out over the much longer line that is produced during that equivalent interval of time. While this can make rapidly rising vertical edges difficult to see, it gives the user "a feel" for the signal activity that can be lost in digital displays that are either more uniformly bright or sparsely populated with discrete dots. A system that produces a display that is analog-like in this respect is described in U.S. Pat. No. 5,550,963 to Siegel et al. for "Graded Display of Digitally Compressed Waveforms", hereby incorporated by reference.
To summarize that which has been stated above, and to make clear the need for the invention to be described below, oscilloscope manufacturers, in order to best meet the needs of oscilloscope users, have long been attempting to achieve "the best of both worlds" by producing digital oscilloscopes that retain the benefits inherent in being able to store and process acquired data after acquisition, while at the same time more successfully emulating those features of analog oscilloscope displays that best communicate information about the signal under observation. While much progress has been made in this direction, one of the most resistant artifacts of the digital, raster scan based approach to conveying waveform information has been the sharp dichotomy between the use of the dot mode and vector mode approaches to rasterization. Because there is time overhead associated with the read-modify-write activity involved in updating the memory location associated with each active pixel, vector mode rasterization usually takes much more time than does dot mode rasterization, and yet in many circumstances dot mode rasterization provides an inadequate waveform image. This is an especially frustrating problem when waveforms and triggers are fairly plentiful and the oscilloscope can acquire them rapidly enough to provide adequate capture of rare events, but there is not sufficient time to fully vectorize all of those waveforms and there is also not enough data, especially in non-repetitive portions of the waveforms, to make an adequate dot mode display that gives the user visibility of the information that he or she needs.